// 商品参数模型
const { goodsDyAttr, goodsStaticAttr,validateGoodsAttr } = require('../../../models/category');
// 统一数据返回类
const { DataReturn } = require('../../../common/returnclass');

/**
 * @api {Put} /categories/add_attr/:type 添加分类参数
 * @apiGroup Admin-Categories
 *
 * @apiParam {ObjectId} cate_id 分类id
 * @apiParam {Number} type 1代表动态参数 2代表静态参数
 * @apiParam {String} attr_name 参数名称
 *
 * @apiSuccess {Number} code 状态码
 * @apiSuccess {Object} data 返回数据
 * @apiSuccess {String} msg  返回消息
 */
module.exports = async (req, res) => {
	// type 1代表动态参数 2代表静态参数 商品分类id 参数名称
	let { type } = req.params;
	let { cate_id, attr_name } = req.fields;
	console.log(req.params,req.fields)
	
	// 数据格式校验
	const { error } = validateGoodsAttr(req.fields);
	// 格式不符合要求
	if (error) return DataReturn.getData(res,400,[],error.message);
	
	let result;
	if (type == 1) {
		// 保存参数
		goodsDyAttr.create({
			cate_id,
			attr_name
		}).then(()=>{
			DataReturn.getData(res,200,result,'添加参数成功')
		}).catch((err)=>{
			DataReturn.getData(res,200,err,'添加参数失败')
		})
		
	} else if (type == 2) {
		// 保存参数
		goodsStaticAttr.create({
			cate_id,
			attr_name
		}).then(()=>{
			DataReturn.getData(res,200,result,'添加属性成功')
		}).catch((err)=>{
			DataReturn.getData(res,400,err,'添加属性失败')
		})
	}
	
}